package com.ruoyi.project.mydo.mydojob.mapper;

import com.ruoyi.project.mydo.mydojob.domain.MydoJob;
import org.apache.ibatis.annotations.Param;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * 作业表Mapper接口
 *
 * @author ruoyi
 * @date 2023-04-10
 */
public interface MydoJobMapper
{
    /**
     * 查询作业表
     *
     * @param jobId 作业表主键
     * @return 作业表
     */
    public MydoJob selectMydoJobByJobId(String jobId);

    /**
     * 查询作业表列表
     *
     * @param mydoJob 作业表
     * @return 作业表集合
     */
    public List<MydoJob> selectMydoJobList(MydoJob mydoJob);

    /**
     * 查询盘点作业表列表
     *
     * @param mydoJob 作业表
     * @return 作业表集合
     */
    public List<MydoJob> selectpdMydoJobList(MydoJob mydoJob);

    /**
     * 新增作业表
     *
     * @param mydoJob 作业表
     * @return 结果
     */
    public int insertMydoJob(MydoJob mydoJob);

    /**
     * 修改作业表
     *
     * @param mydoJob 作业表
     * @return 结果
     */
    public int updateMydoJob(MydoJob mydoJob);

    /**
     * 删除作业表
     *
     * @param jobId 作业表主键
     * @return 结果
     */
    public int deleteMydoJobByJobId(String jobId);

    /**
     * 批量删除作业表
     *
     * @param jobIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteMydoJobByJobIds(String[] jobIds);

    void impJob(Map<String, String> map);

    void finishJob(Map<String, String> map);

    void cancelJob(Map<String, String> map);

    Integer selectByInCount();
    Integer selectByInCount2();

    Integer selectByOutCount();
    Integer selectByOutCount2();

    List<MydoJob> selectByRoad(String mydoJob);

    Integer selectJobNumByTime(@Param("beginDate") String beginDate, @Param("finishDate")String finishDate,@Param("road") String road);

    void handControlJob(Map<String, Object> map);

    Integer selectInOutByCode(String trayCode);
    void trayLIn(Map<String, Object> params);
    void trayIn(Map<String, Object> params);
    void trayOut(Map<String, Object> params);
    void trayLOut(Map<String, Object> params);

    void checkStockSure(Map<String, Object> params);

    void outStockSure(Map<String, Object> params);

    int updateMydoJobStatuaByTrayCode(String trayCode);

    void pickingIn(Map<String, Object> params);

    void callInTemp(HashMap<String, Object> map);

    void inTempSure(HashMap<String, Object> map);

    void inTempFinish(HashMap<String, Object> map);

    void pickingIn2(Map<String, Object> params);

    void pickingOut(Map<String, Object> params);
}
